/*******************************************************************************
 * Classe SuperRedd : création des pions SuperRedd
 ******************************************************************************/
package tp2;

import java.awt.*;

/**
 *
 * @author W&G
 */
public class SuperRedd extends Pion implements Jouable{

    private Case caseCourante; // lien vers la case qui contient le pion
    private Case.Couleur couleur;//Couleur du pion

    public SuperRedd(Case c) {//Creation du pion en fonction de la case
        caseCourante = c;
    }
        @Override
    public boolean estFixe()
    {
        return true;
    }
    @Override
    public boolean estClique(boolean clique)
    {
        return true;
    }

    @Override
    public void paintComponent(Graphics g) {
        switch (caseCourante.getEtat()) {
            case SUPERREDD1:
                couleur = Case.Couleur.SUPERREDD1;
                break;
            case SUPERREDD2:
                couleur = Case.Couleur.SUPERREDD2;
                break;
        }
        g.setColor(couleur.getCouleur()); // dessine le contour du pion
        g.fillOval(caseCourante.getWidth() / 8, caseCourante.getHeight() / 8,
                caseCourante.getWidth() * 3 / 4, caseCourante.getHeight() * 3 / 4);

        g.setColor(Color.BLACK); // le cercle noir qui contient le visage
        g.fillOval(caseCourante.getWidth() / 4, caseCourante.getHeight() / 4,
                caseCourante.getWidth() / 2, caseCourante.getHeight() / 2);

        g.setColor(couleur.getCouleur());
        g.drawLine(caseCourante.getWidth() * 22 / 64, caseCourante.getHeight() * 27 / 64,
                caseCourante.getWidth() * 28 / 64, caseCourante.getHeight() * 31 / 64);
        g.drawLine(caseCourante.getWidth() * 36 / 64, caseCourante.getHeight() * 31 / 64,
                caseCourante.getWidth() * 42 / 64, caseCourante.getHeight() * 27 / 64);
        if (caseCourante.getPionChoisi()) {
            g.fillOval(caseCourante.getWidth() * 24 / 64, caseCourante.getHeight() * 36 / 64,
                    caseCourante.getWidth() * 16 / 64, caseCourante.getHeight() * 9 / 64);
        } else {
            g.drawOval(caseCourante.getWidth() * 25 / 64, caseCourante.getHeight() * 37 / 64,
                    caseCourante.getWidth() * 14 / 64, caseCourante.getHeight() * 7 / 64);
        }
        g.setColor(Color.BLACK);
        g.fillRect(caseCourante.getWidth() * 25 / 64, caseCourante.getHeight() * 41 / 64,
                caseCourante.getWidth() * 15 / 64, caseCourante.getHeight() * 4 / 64);
    }
}
